{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "abb73c08",
   "metadata": {},
   "source": [
    "# selenium"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "8ad8af2a",
   "metadata": {},
   "source": [
    "**化妆品生产许可信息管理系统服务平台**\n",
    "**http://scxk.nmpa.gov.cn:81/xk/**"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "id": "2e2fbdd4",
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\r\n",
      "\r\n",
      "\r\n",
      "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\r\n",
      "<html xmlns=\"http://www.w3.org/1999/xhtml\">\r\n",
      "<head>\r\n",
      "\t<title>化妆品生产许可信息管理系统服务平台</title>\r\n",
      "\t<meta http-equiv=\"keywords\" content=\"化妆品生产许可信息管理系统服务平台,化妆品生产许可证查询,化妆品生产许可企业查询,化妆品生产许可企业\"/>\r\n",
      "    <meta http-equiv=\"description\" content=\"化妆品生产许可信息管理系统服务平台是由国家药品监督管理局主办，此平台可以查到化妆品生产企业信息\"/>\r\n",
      "\t<script language=\"javascript\" type=\"text/javascript\">\r\n",
      "\t//alert(\"自2020年8月14日起，原化妆品生产许可信息管理系统地址变更为：http://scxk.nmpa.gov.cn:81/xk/，请提前安排好工作。\");\r\n",
      "       var G = {\"baseUrl\":\"http://scxk.nmpa.gov.cn:81/xk/\"};\r\n",
      "    </script>\r\n",
      "\t<script src=\"http://scxk.nmpa.gov.cn:81/xk/itownet/_static/common/jquery/jquery-1.7.1.min.js\"  type=\"text/javascript\" charset=\"utf-8\"></script>\r\n",
      "\t<script\tsrc=\"http://scxk.nmpa.gov.cn:81/xk/itownet/_static/common/jquery/plugins/jquery.cookie.js\"\ttype=\"text/javascript\" charset=\"utf-8\"></script>\r\n",
      "\t<script src=\"http://scxk.nmpa.gov.cn:81/xk/itownet/portal/jquery.myPagination.js\"   type=\"text/javascript\" charset=\"utf-8\"></script>\r\n",
      "\t<link rel=\"stylesheet\" href=\"http://scxk.nmpa.gov.cn:81/xk/itownet/portal/style_portal.css\" type=\"text/css\" />\r\n",
      "\t<link rel=\"stylesheet\" href=\"http://scxk.nmpa.gov.cn:81/xk/itownet/_static/css/page.css\"\ttype=\"text/css\" />\r\n",
      "\t\r\n",
      "    <script\tsrc=\"http://scxk.nmpa.gov.cn:81/xk/itownet/portal/portal.js?v=2017-01-15\"\ttype=\"text/javascript\" charset=\"utf-8\"></script>\r\n",
      "\r\n",
      "</head>\r\n",
      "<body >\r\n",
      "\t<div class=\"hzbbanner\"><div class=\"hzbbannertxt\"><a href=\"http://scxk.nmpa.gov.cn:81/xk/login.jsp\" target=\"_blank\" title=\"进入化妆品生产许可信息管理系统\">【业务办理】</a></div></div>\r\n",
      "\t<div class=\"hzbscbox\">\r\n",
      "\t\t<div class=\"hzbscin\">\r\n",
      "\t\t\t<div style=\"position:relative;\">\r\n",
      "\t\t\t\t<div class=\"hzbtabs\">\r\n",
      "\t\t\t\t\t    <span id=\"xkzh\" class=\"hzbtabon\" dataid=\"1\">许可证编号</span> \r\n",
      "\t\t\t\t\t\t<span id=\"qymc\" dataid=\"2\">企业名称</span> \r\n",
      "\t\t\t\t\t\t<span id=\"xydm\" dataid=\"3\">社会信用代码</span>\r\n",
      "\t\t\t\t\t\t<input type=\"hidden\" id=\"conditionType\" value=\"1\"/>\r\n",
      "\t\t\t\t</div>\r\n",
      "\t\t\t</div>\r\n",
      "\t\t\t<input type=\"text\" id=\"searchtext\" class=\"hzbsr\" name=\"kw\" value=\"\"\tplaceholder=\"请输入许可证号\" /> \r\n",
      "\t\t\t\t<input type=\"button\" class=\"hzbbtn\"\tid=\"searchInfo\" value=\"查询\" />\r\n",
      "\t\t</div>\r\n",
      "\t</div>\r\n",
      "\r\n",
      "\t<div class=\"dzpzmain\">\r\n",
      "\t\t<div id=\"FileItems\">\r\n",
      "\t\t    <ul class=\"hzblist\"  style=\"margin-top: 0px;margin-bottom: 0px;border-top: 0px;border-bottom: 0px;\">\r\n",
      "\t\t\t\t<li class=\"columm\"><i>发证日期</i>\r\n",
      "\t\t\t\t\t<dl>企业名称\r\n",
      "\t\t\t\t\t</dl>\r\n",
      "\t\t\t\t\t<ol>许可证编号\r\n",
      "\t\t\t\t\t</ol>\r\n",
      "\t\t\t\t\t<p>发证机关</p> <em>有效期至</em>\r\n",
      "\t\t\t\t</li>\r\n",
      "\t\t\t</ul>\r\n",
      "\t\t\t<ul class=\"hzblist\" id=\"gzlist\" style=\"margin-top: 0px;border-top: 0px;\">\r\n",
      "\t\t\t\t \r\n",
      "\t\t\t</ul>\r\n",
      "\t\t</div>\r\n",
      "        <div id=\"itownetPage\"></div>\r\n",
      "\t\t\r\n",
      "\t</div>\r\n",
      "\r\n",
      "\r\n",
      "\t<div class=\"hzbbtm\">\r\n",
      "\t\t本站由<a href=\"http://www.sfda.gov.cn/WS01/CL0479/\" target=\"_blank\">国家药品监督管理局</a>主办\r\n",
      "\t\t版权所有 未经许可禁止转载或建立镜像 Copyright &copy; NMPA All Rights Reserved  系统技术：信息中心 电话：010-88331913\r\n",
      "\t</div>\r\n",
      "</body>\r\n",
      "</html>\n"
     ]
    }
   ],
   "source": [
    "#普通请求\n",
    "import requests\n",
    "\n",
    "url = \"http://scxk.nmpa.gov.cn:81/xk/\"\n",
    "\n",
    "r = requests.get(url).content.decode('utf-8')\n",
    "print(r)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "id": "63903ca6",
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[<selenium.webdriver.firefox.webelement.FirefoxWebElement (session=\"79241224-e011-4350-acba-62fc125e3ba4\", element=\"e575be74-2c3d-4b7b-b14e-4619a57035af\")>]\n",
      "发证日期\n",
      "企业名称\n",
      "许可证编号\n",
      "发证机关\n",
      "有效期至\n",
      "2021-11-09\n",
      "江西诚志日化有限公司\n",
      "赣妆20160005\n",
      "江西省食品药品监督管理局\n",
      "2026-11-09\n",
      "2021-10-12\n",
      "昆山华羚化妆品有限公司\n",
      "苏妆20160206\n",
      "江苏省药品监督管理局\n",
      "2021-12-27\n",
      "2021-10-12\n",
      "张家港大造气雾剂有限公司\n",
      "苏妆20160005\n",
      "江苏省药品监督管理局\n",
      "2024-10-18\n",
      "2021-10-12\n",
      "成都瑞商通银日用品有限公司\n",
      "川妆20160015\n",
      "四川省药品监督管理局\n",
      "2026-10-11\n",
      "2021-10-11\n",
      "云南白药集团健康产品有限公司\n",
      "云妆20160016\n",
      "云南省食品药品监督管理局\n",
      "2021-11-02\n",
      "2021-10-11\n",
      "惠州利美生物科技有限公司\n",
      "粤妆20170473\n",
      "广东省药品监督管理局\n",
      "2022-08-27\n",
      "2021-10-11\n",
      "广州俊臣化妆品有限公司\n",
      "粤妆20170265\n",
      "广东省药品监督管理局\n",
      "2026-10-10\n",
      "2021-10-11\n",
      "广州全姿化妆品有限公司\n",
      "粤妆20170127\n",
      "广东省药品监督管理局\n",
      "2026-10-10\n",
      "2021-10-11\n",
      "广州市中粤大圣化妆品有限公司\n",
      "粤妆20170042\n",
      "广东省药品监督管理局\n",
      "2026-10-10\n",
      "2021-10-11\n",
      "广州市朗怡日用化工有限公司\n",
      "粤妆20170037\n",
      "广东省药品监督管理局\n",
      "2026-10-10\n",
      "2021-10-11\n",
      "广州珂元生物科技有限公司\n",
      "粤妆20170017\n",
      "广东省药品监督管理局\n",
      "2026-10-10\n",
      "2021-10-11\n",
      "惠州市七分妆化妆品有限公司\n",
      "粤妆20161800\n",
      "广东省药品监督管理局\n",
      "2026-12-29\n",
      "2021-10-11\n",
      "广州市科丽雅化妆品有限公司\n",
      "粤妆20161784\n",
      "广东省药品监督管理局\n",
      "2026-10-10\n",
      "2021-10-11\n",
      "广州市凯秀化妆品有限公司\n",
      "粤妆20161740\n",
      "广东省药品监督管理局\n",
      "2026-10-10\n",
      "2021-10-11\n",
      "广州市白云艾琪儿化妆品厂\n",
      "粤妆20161653\n",
      "广东省药品监督管理局\n",
      "2026-10-10\n"
     ]
    }
   ],
   "source": [
    "# 用selenium 可得到 ajax的内容\n",
    "from selenium import webdriver\n",
    "\n",
    "browser = webdriver.Firefox()\n",
    "browser.get('http://scxk.nmpa.gov.cn:81/xk/')\n",
    "\n",
    "c = browser.find_elements_by_xpath('//*[@id=\"FileItems\"]')  #F12 选中元素右键 copy 得到 Xpath\n",
    "print(c)\n",
    "\n",
    "for i in c:\n",
    "    print(i.text)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "1e53386f",
   "metadata": {},
   "source": [
    "**爬取百度热搜数据https://top.baidu.com/board?tab=realtime**"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 96,
   "id": "fc45a124",
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[['1', '4934310', '热搜指数', '河北大巴坠河事故致14人遇难', '10月11日，河北石家庄市平山县一辆载51人的大巴车落水。截至12日下午2时40分，最后一名失联人员被找到，已无生命体征... 查看更多>'], ['2', '4802586', '热搜指数', '外交部:台湾省没资格加入联合国', '外交部：联合国系统各专门机构和联合国秘书处任何涉及台湾的事务均应遵守一个中国原则和联大第2758号决议，台湾作为中国的一... 查看更多>'], ['3', '4799019', '热搜指数', '暴雨致山西1763处古建受损', '平遥古城局部坍塌，太原晋祠多处漏水，吕梁千佛洞屋顶塌落漏水……一场旷日持久的暴雨，让山西多地名胜古迹告急，受损的古建达1... 查看更多>'], ['4', '4629225', '热搜指数', '美核潜艇撞了中国黄花鱼养殖箱?', '外媒报道，中国南海黄花鱼养殖箱被不明物体碰撞，网友与美国“康涅狄格”号核潜艇在南海与不明物体相撞联系起来。专家：可能性不... 查看更多>'], ['5', '4537894', '热搜指数', '中山大学硕士长沙开摩的', '近日，长沙的杜杨因为一条视频意外走红。网友发现他是名校硕士，本科毕业后考入中山大学攻读国际经济法研究生。 查看更多>'], ['6', '4428675', '热搜指数', '范志毅预言国足会输沙特', '北京时间10月12日，中国队和沙特拉伯队的比赛即将正式打响。赛前，前国脚范志毅谈到，国足在客场赢球很困难，关键是要做好防... 查看更多>'], ['7', '4321696', '热搜指数', '台风圆规或13日登陆海南', '预计18号台风“圆规”于13日下午到晚上在海南文昌至三亚一带沿海登陆，登陆时强度为强热带风暴级（10～11级，25～30... 查看更多>'], ['8', '4258298', '热搜指数', '联想辟谣柳传志1亿年薪', '10月12日，联想控股方面回应，网传柳传志退休后约1亿人民币薪酬严重失实。此外，2019年柳传志从联想控股退休，不再担任... 查看更多>'], ['9', '4128554', '热搜指数', '岸田文雄:将与中国继续对话与合作', '日本众议院当地时间12日下午召开全体会议。关于日中关系，岸田文雄表示，将与中国继续就各种共同课题进行对话与合作。 查看更多>'], ['10', '4010199', '热搜指数', '歌手宋冬野社交账号被禁言', '10月11日，歌手宋冬野在微博发长文控诉自己的演出被举报后取消，引发网友争议。12日，宋冬野的微博因违反微博社区公约被封... 查看更多>'], ['11', '3934941', '热搜指数', '俞敏洪辟谣“搞钱视频”:我没说', '查看更多>'], ['12', '3850487', '热搜指数', '长津湖成中国影史票房第6名', '10月12日，电影《长津湖》上映第13天，票房正式突破42.5亿，暂列内地影史票房总榜第6位。 查看更多>'], ['13', '3721740', '热搜指数', '张家口辟谣因冬奥会给孩子提前放假', '近日，网上传播“河北张家口市举办冬奥会拟给孩子提前放假”等消息。10月11日，河北省张家口市教育局官方发文辟谣：此类信息... 查看更多>'], ['14', '3681466', '热搜指数', '美团回应骑手殴打用户:永久拉黑', '近日，有网友爆料称，在北京一小区门口取外卖时，遭到美团骑手从背后偷袭，并被拉至监控死角殴打。对此，美团回应：已对骑手永久... 查看更多>'], ['15', '3599674', '热搜指数', '河北通勤车坠河瞬间曝光', '河北通勤班车坠河已致14死，坠河瞬间画面显示，桥上水深淹没车轮，班车在桥上行驶10余秒后侧翻坠河。 查看更多>'], ['16', '3420675', '热搜指数', '警方停止对安德鲁王子涉性侵调查', '10月11日，伦敦警方宣布将不再对安德鲁王子涉嫌性侵一案进行调查。尽管此前英国王室和安德鲁王子本人对指控进行了否认，但目... 查看更多>'], ['17', '3310496', '热搜指数', '花4150万买房疑被中介赚250万差价', '近日，夏女士花4150万购买一套房产，前业主称售价为3900万元，夏女士怀疑中介吃差价。对此工作人员称，除合法佣金以外未... 查看更多>'], ['18', '3206403', '热搜指数', '#山西强降雨致15人遇难3人失踪#', '山西遭遇持续降雨，多地接连发生崩塌、滑坡等地质灾害，城市内涝严重。 查看更多>'], ['19', '3121950', '热搜指数', '国足世预赛战沙特23人名单出炉', '北京时间10月12日下午，国足12强赛客场对阵沙特队的23人正式名单出炉，跟上场对阵越南队的名单相比，主帅李铁调整5人。 查看更多>'], ['20', '3058914', '热搜指数', '硕博扎堆 教师岗位挤破头？', '近日，深圳某中学招聘时硕博扎堆的现象引发热议。教师行业真的这么“吃香”？竞聘教师真的需要“挤破头”？ 查看更多>'], ['21', '2968925', '热搜指数', 'NBA中文官方75周年宣传片', '10月12日，NBA推出中文版75周年宣传片，片中从首支NBA球队访华到众多中国球员赴美打球，全景回顾了中美两国的篮球交... 查看更多>'], ['22', '2886989', '热搜指数', '大批气候抗议者涌向白宫', '据福克斯新闻网11日报道，大批气候抗议者出现在美国首都街头，涂写美国前总统安德鲁·杰克逊的雕像，并涌向白宫，警告拜登总统... 查看更多>'], ['23', '2798493', '热搜指数', '莆田砍死邻居在逃嫌犯作案动机', '10月10日，莆田秀屿区平海镇发生一起重大刑事案件，55岁男子欧某有重大作案嫌疑。据欧某同村的知情人士称，嫌疑人作案动机... 查看更多>'], ['24', '2683104', '热搜指数', '五粮液:独董郎定常因突发疾病去世', '五粮液发布公告称，公司独立董事郎定常先生因突发疾病，经全力抢救医治无效，于2021年10月12日不幸逝世。 查看更多>'], ['25', '2557089', '热搜指数', '空乘毕业生被分配到酒店大堂', '查看更多>'], ['26', '2498265', '热搜指数', '中房协将召开座谈会摸底房企困难', '中国房地产业协会预计于10月15日召集部分房企在京开座谈会，会议内容是对目前房企面临的问题进行摸底排查，了解相应的风险。 查看更多>'], ['27', '2322853', '热搜指数', '迪士尼传奇动画人露丝汤普森去世', '10月12日，迪士尼公司董事会执行主席Bob Lgre宣布迪士尼动画人露丝·汤普森去世，享年111岁。露丝·汤普森曾创作... 查看更多>'], ['28', '2222939', '热搜指数', '宋冬野演出没了冤枉吗?', '查看更多>']]\n"
     ]
    }
   ],
   "source": [
    "#检查xhr包 发现现在更新了没使用ajax请求 \n",
    "\n",
    "from selenium import webdriver\n",
    "\n",
    "option = FirefoxOptions()\n",
    "option.add_argument(\"--headless\")  # 隐藏浏览器弹窗\n",
    "option.add_argument(\"--no-send\")\n",
    "\n",
    "\n",
    "browser = webdriver.Firefox()\n",
    "browser.get('https://top.baidu.com/board?tab=realtime')\n",
    "r = browser.find_elements_by_xpath('//*[@id=\"sanRoot\"]/main/div[2]/div/div[2]')  #F12 选中元素右键 copy 得到 Xpath\n",
    "\n",
    "hot_data = [i.text.split(\"\\n\") for i in r]\n",
    "\n",
    "hot_list = []\n",
    "n = 0\n",
    "\n",
    "for e in hot_data[0]:\n",
    "    if e == '热' or e == '新':\n",
    "        hot_data[0].remove(e)   \n",
    "    else:\n",
    "        n += 1\n",
    "        if n % 5 == 0:\n",
    "            hot_list.append(hot_data[0][n-5: n])  # ['1', '4992729', '热搜指数', '河北大巴坠河事故致14人遇难', '10月11日，河北石家庄市平山县一辆载51人的大巴车落水。截至12日下午2时40分，最后一名失联人员被找到，已无生命体征... 查看更多>']\n",
    "            \n",
    "print(hot_list)\n",
    "\n",
    "\n",
    "            \n"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "a1fb964e",
   "metadata": {},
   "source": [
    "# 建数据库"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "d93078cf",
   "metadata": {},
   "source": [
    "# python 提交数据库时 千万记得执行 conn.commit()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "fe2d076b",
   "metadata": {},
   "outputs": [],
   "source": [
    "# sql\n",
    "create table `bdhot`(\n",
    "`id` int(11) not null auto_increment,\n",
    "`dt` timestamp default current_timestamp,# 默认值为当前时间\n",
    "`hotrank` int(11) default null,\n",
    "`hotscore` int(11) default null,\n",
    "`title` varchar(255) default null,\n",
    "`content` tinytext default null,\n",
    "primary key(`id`) using btree\n",
    ")engine=innodb default charset=utf8mb4;\n",
    "\n",
    "\n",
    "# # out\n",
    "# mysql> create table `bdhot`(\n",
    "#     -> `id` int(11) not null auto_increment,\n",
    "#     -> `dt` datetime not null,\n",
    "#     -> `hotrank` int(11) default null,\n",
    "#     -> `hotscore` int(11) default null,\n",
    "#     -> `title` varchar(255) default null,\n",
    "#     -> `content` tinytext default null,\n",
    "#     -> primary key(`id`) using btree\n",
    "#     -> )engine=innodb default charset=utf8mb4;\n",
    "# Query OK, 0 rows affected (0.49 sec)\n",
    "\n",
    "发现以id为主键时，更新热搜容易有有重复数据"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "b53568aa",
   "metadata": {},
   "outputs": [],
   "source": [
    "# sql\n",
    "\n",
    "create table `bdhot`(\n",
    "`id` int(11) not null auto_increment,\n",
    "`dt` timestamp default current_timestamp,# 默认值为当前时间\n",
    "`hotrank` int(11) default null,\n",
    "`hotscore` int(11) default null,\n",
    "`title` varchar(255) not null,\n",
    "`content` tinytext default null,\n",
    "primary key(`id`) using btree\n",
    ")engine=innodb default charset=utf8mb4;\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "# out\n",
    "mysql> create table `bdhot`(\n",
    "    -> `id` int(11) not null auto_increment,\n",
    "    -> `dt` timestamp default current_timestamp,# 默认值为当前时间\n",
    "    -> `hotrank` int(11) default null,\n",
    "    -> `hotscore` int(11) default null,\n",
    "    -> `title` varchar(255) not null,\n",
    "    -> `content` tinytext default null,\n",
    "    -> primary key(`id`) using btree\n",
    "    -> )engine=innodb default charset=utf8mb4;\n",
    "Query OK, 0 rows affected, 3 warnings (0.05 sec)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "46bbe475",
   "metadata": {},
   "outputs": [],
   "source": [
    "# 2021年10月16日22:29:39 考虑到实际需要还是以id为主键吧\n",
    "\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "04693211",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "8e93e5bc",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "fa8133c9",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "275c6089",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "7feb19ef",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "fadd01b1",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "38074659",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "0e3cdf0e",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "7dcb3e12",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "d9663950",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "63acef8b",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "b919f0e5",
   "metadata": {},
   "outputs": [],
   "source": [
    "\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "\n"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.9.1"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
